package com.zenithmind.common.query;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseQuery {
    private Integer current = 1; // 当前页码，默认值为1
    private Integer size = 10; // 每页显示的记录数，默认值为10

    /**
     * 创建并返回一个泛型的分页对象
     *
     * 该方法用于初始化并返回一个配置了页码和页面大小的分页对象
     * 通过使用泛型，该方法支持返回各种类型的分页对象，而不仅仅限于特定类型
     *
     * @param <T> 泛型参数，表示分页对象中数据的类型
     * @return 返回一个配置了页码和页面大小的分页对象
     */
    public <T> Page<T> toPage() {
        return new Page<>(current, size); // 创建一个分页对象，页码为current，页面大小为size
    }
}
